package org.wms.minbearwcs.serivce.mission.storageProcessor.config;

import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.wms.minbearwcs.serivce.mission.storageProcessor.booking.Floor3Or4.DefaultStorage3Or4FloorBookingSelector;
import org.wms.minbearwcs.serivce.mission.storageProcessor.booking.Floor3Or4.Storage3Or4FloorBookingSelector;
import org.wms.minbearwcs.serivce.mission.storageProcessor.booking.Floor5Or6.DefaultStorage5Or6FloorBookingSelector;
import org.wms.minbearwcs.serivce.mission.storageProcessor.booking.Floor5Or6.Storage5Or6FloorBookingSelector;
import org.wms.minbearwcs.serivce.mission.storageProcessor.locker.Floor3Or4.DefaultStorage3Or4FloorLocker;
import org.wms.minbearwcs.serivce.mission.storageProcessor.locker.Floor3Or4.Storage3Or4FloorLocker;
import org.wms.minbearwcs.serivce.mission.storageProcessor.locker.Floor5Or6.DefaultStorage5Or6FloorLocker;
import org.wms.minbearwcs.serivce.mission.storageProcessor.locker.Floor5Or6.Storage5Or6FloorLocker;

@Configuration
public class StorageSelectorConfig {

    @Bean
    @ConditionalOnMissingBean
    public Storage3Or4FloorBookingSelector defaultStorage3Or4Selector(){
        return new DefaultStorage3Or4FloorBookingSelector();
    }

    @Bean
    @ConditionalOnMissingBean
    public Storage5Or6FloorBookingSelector defaultStorage5Or6FloorSelector(){
        return new DefaultStorage5Or6FloorBookingSelector();
    }

    @Bean
    @ConditionalOnMissingBean
    public Storage3Or4FloorLocker defaultStorage3Or4FloorLocker(){
        return new DefaultStorage3Or4FloorLocker();
    }


    @Bean
    @ConditionalOnMissingBean
    public Storage5Or6FloorLocker defaultStorage5Or6FloorLocker(){
        return new DefaultStorage5Or6FloorLocker();
    }

}
